Set parameters for Gauss Boaga reference system
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(CRS), | intent(inout) | :: | system | |||
integer(kind=short), | intent(in) | :: | fuse | |||
integer(kind=short), | intent(in), | optional | :: | override |
SUBROUTINE SetGaussBoagaparametersSystem & ! (system, fuse, override) IMPLICIT NONE !Arguments with intent (in): INTEGER (KIND = short), INTENT (IN) :: fuse INTEGER (KIND = short), OPTIONAL, INTENT (IN) :: override ! Arguments with intent (inout): TYPE (CRS), INTENT (INOUT) :: system !------------end of declaration------------------------------------------------ !Esistono due proiezioni distinte: fuso Ovest e fuso Est, !che differiscono per la scelta dei meridiani di riferimento. !Essi sono posti rispettivamente a 9� e a 15� ad Est di Greenwich. !Ciascuna proiezione copre una zona di longitudine ampia 6°, !separate dal meridiano posto a 12°. !Le coordinate si esprimono in metri. !Per evitare l'utilizzo di numeri negativi per la longitudine !si impone al meridiano centrale del fuso Ovest una coordinata x !pari a 1500000 (invece di zero), detta anche falso Est. !Al meridiano centrale del fuso Est si impone invece un falso !Est di 2520000. In questo modo la prima cifra della latitudine !indica a quale fuso facciamo riferimento: cifra 1 per il fuso Ovest, !cifra 2 per il fuso Est. !set Gauss Boaga parameters value system % param (GB_lat0) = 0. system % param (GB_fuse) = fuse IF ( system % param (GB_fuse) == WEST ) THEN system % param (GB_centM) = 9. * degToRad system % param (GB_false_easting) = 1500000. ELSE system % param (GB_centM) = 15. * degToRad system % param (GB_false_easting) = 2520000. END IF system % param (GB_false_northing) = 0. system % param (GB_scale_factor) = 0.9996 IF (PRESENT (override) ) THEN system % param (GB_override) = override ELSE !set default to 0 = override off system % param (GB_override) = 0. END IF !Set parameters description system % description (GB_lat0) = 'latitude_of_projection_origin' system % description (GB_centM) = 'central_meridian' ! 'longitude_of_projection_origin' system % description (GB_fuse) = 'fuse' system % description (GB_false_easting) = 'false_easting' system % description (GB_false_northing) = 'false_northing' system % description (GB_scale_factor) = 'scale_factor' END SUBROUTINE SetGaussBoagaparametersSystem